Qui ne sait pas du tout ce qu’est un package Python ?
Qui a déjà créé un package Python ?
Qui contribue à des packages Python open source ?
Qui a déjà mis sur PyPI un package Python ?
Un bon package c’est pas (uniquement) une question de code.
Facilement distribuable et donc reutilisable !
Ne jamais commit une erreur
Tester dans les meilleures conditions
Configuration du pyproject.toml
A quelle ligne sera la première erreur?
Code parfaitement valide ✅
On prend le même code, mais on le standardise
ruff est probablement la meilleure option
2 manières d’utiliser :
→ pre-commit est le plus important!
A chaque commit, fait tourner une série de check qu’on aura définit
Vous n’avez plus à penser à cela, tout est vérifié en amont
Tester son code ça veut dire quoi ?
Il suffit de le faire tourner!
Il suffit de le faire tourner?
Scrits (yaml) qui se déclenchent dans certaines conditions
→ faire tourner les tests unitaires
→ sur plusieurs versions de Python (open source ?)
→ sur plusieurs OS
→ Et cela tout le temps!
sur plusieurs OS
sur plusieurs OS ???
Warning
Python est interprété, mais peut se comporter différemment en fonction de l’OS
Un package ça se décompose en :
du code Python
des méta données
✨pyproject.toml✨
pyproject.toml + uv = <3
numpy>=2.1.0
numpy==2.1.3
La première (et souvent la seule) chose que les gens verronts
Objectif: réduire au maximum l’effort requis pour comprendre le package.
Pour ça on a besoin de 2 choses:
Comment (et quoi) tester